package com.zhixi.principle.dependenceinversionprinciple;

import com.zhixi.principle.dependenceinversionprinciple.operation.*;

/**
 * 依赖倒转原则
 *
 *  1、高层模块不应该依赖底层模块，两者都应该依赖其抽象
 *  2、抽象不应该依赖细节，细节应该依赖抽象
 *  3、依赖倒转的中心思想是面向接口编程
 *
 * @作者 ShuHaoNan
 * @邮箱 shuhaonan1@gmail.com
 * @时间 2020/11/14 17:00
 */
public class DependenceInversionPrinciple {

    public static void main(String[] args) {
        Driver liSi = new DriverImpl();
        BenzCar benzCar = new BenzCar();
        liSi.driver(benzCar);

        BMWCar bmwCar = new BMWCar();
        liSi.driver(bmwCar);
    }

}
